package wrapper;

public class IntegerDemo {
    public static void main(String[] args) {
        //演示包装类定义：
        /*Integer i1=new Integer(5);
        Integer i2=new Integer(5);
        System.out.println(i1==i2);//比较地址
        System.out.println(i1.equals(i2));//比较值

        //valueOf()方法会复用1个字节(-128到127)范围内的数据，建议使用valueOf()
        Integer i3=Integer.valueOf(5);
        Integer i4=Integer.valueOf(5);
        System.out.println(i3==i4);
        System.out.println(i3.equals(i4));//true,包装类重写equals()比较值*/

        //演示基本类型与包装类型之间的互转
       /* Integer i=Integer.valueOf(5);//基本类型转换为包装类型
        int j=i.intValue();//包装类型转换为基本类型*/

        //触发了自动装箱特性，会被编译为:Integer i=Integer.valueOf(5);
        Integer i=5;//基本类型到包装类-----------装箱
        //触发自动拆装特性，会被编译为:int j=i.intValue();
        int j=i;//包装类型到基本类型-------------拆箱

        //演示包装类的常用操作：
        //1)可以通过包装类来获取基本类型的取值范围:
        int max=Integer.MAX_VALUE;
        int min=Integer.MIN_VALUE;
        System.out.println("int的最大值为:"+max+",最小值为:"+min);
        long max1=Long.MAX_VALUE;
        long min1=Long.MIN_VALUE;
        System.out.println("long最大值为:"+max1+",long最小值为:"+min1);

        //2)包装类可以将字符串转换为对应的基本类型----------必须熟练掌握
        String s1="40";
        int age=Integer.parseInt(s1);
        System.out.println(age);
        String s2="123.456";
        double price=Double.parseDouble(s2);
        System.out.println(price);
        String s3="15.2";
        double a=Double.parseDouble(s3);
        System.out.println(a);




    }
}
